[% setvar title Meanwhile, in perl6-language %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary for the week ending 2004-07-04'></a><h2>The Perl 6 Summary for the week ending 2004-07-04</h2>
<p>Another week, another Perl 6 Summary. This is becoming a habit.</p>
<p>Let's do perl6-internals first shall we?</p>
<a name='Japhy's Perl 6 rules parser'></a><h2>Japhy's Perl 6 rules parser</h2>
<p>Last week Jeff 'japhy' Pinyan announced that he'd be working on a Perl 6
rules parser once he'd finished his Perl 5 regex parser. This week saw
a deal of discussion on how his parser worked. The answer seemed to be
&quot;It works the Right Way.&quot; Which is good. With any luck Steve Fink will
be able to get this parser and the current (sketchy) Perl 6 compiler
playing well together.</p>
<p><a href='http://groups.google.com/groups?selm=Pine.LNX.4.44.0406262313030.28219-100000@perlmonk.org' target='_blank'>groups.google.com</a></p>
<a name='Complexities'></a><h2>Complexities</h2>
<p>Last week Leo had pointed out that we'd need support for complex
numbers in order to get the Piethon stuff running properly. This week
there was some discussion of what was actually needed.</p>
<p>Later in the week Ion Alexandru Morega posted a patch implementing
them. I think Leo spoke for us all when he said &quot;Whee, great, thanks -
applied.&quot;</p>
<p><a href='http://groups.google.com/groups?selm=20040627215622.37698.qmail@onion.perl.org' target='_blank'>groups.google.com</a></p>
<a name='New mailing lists'></a><h2>New mailing lists</h2>
<p>There was some discussion of how perl6-internals should be broken
up. It looks like we'll see new lists called parrot-internals,
parrot-compilers and parrot-library (for internals hackers, compiler
implementers and library builders respectively). The original
perl6-internals will carry on, but will be focused on the actual
internals of Perl 6.</p>
<p>Some, or all, of these lists will be covered in these summaries for as
long as I can keep up.</p>
<p><a href='http://groups.google.com/groups?selm=Pine.LNX.4.58.0406280851280.16872@sprite.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Stack language for Parrot'></a><h2>Stack language for Parrot</h2>
<p>In as impressive a delurk as I've seen in a while, Michael Pelletier
announced that he'd been lurking for a while, playing with Parrot and
had implemented a little stack language not entirely unrelated to Forth
which he'd christened &quot;Parakeet&quot;. He posted his implementation and got
promptly Warnocked.</p>
<p><a href='http://groups.google.com/groups?selm=1088570711.2678.648.camel@heinlein' target='_blank'>groups.google.com</a></p>
<a name='GMP and licensing issues'></a><h2>GMP and licensing issues</h2>
<p>Scott Bronson announced that he'd taken a look at GMP's license and he
didn't think it was incompatible with Parrot's licenses. Dan wasn't
convinced. Scott's still trying to convince him though.</p>
<p>Robert Spier attempted to resolve the problem by pointing everyone at
another possibly suitable library called IMath.</p>
<p><a href='http://groups.google.com/groups?selm=1088572790.3306.100.camel@lea.rinspin.com' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?selm=m3wu1o8cb1.wl_rspier@pobox.com' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='Argh! Strings!'></a><h2>Argh! Strings!</h2>
<p>Discussion of the various ways of slicing and dicing strings in Perl 6
continued. The issue is that, especially in a Unicode world, there are
many ways of looking at a string, all of which are useful in different
contexts. However, because you can look at a string as a sequence of bytes,
codepoints, graphemes or whatever, then functions like <code>substr</code> get a
little weird. If you were to say</p>
<pre>    $substring = $a_string, 5</pre>
<p>then what does the '5' mean?</p>
<p>And that's just one example of where conceptual problems can arise.</p>
<p>I confess that, whenever Unicode comes up, my gut reaction is to keep
my head down and trust that Larry's going to get it right. Certainly
the current formulation seems decently sane; things only get
problematic if you're trying to do something well out of the ordinary.</p>
<p><a href='http://groups.google.com/groups?selm=20040626202059.GA1747@wall.org' target='_blank'>groups.google.com</a></p>
<a name='if, loop, and lexical scope'></a><h2><code>if</code>, <code>loop</code>, and lexical scope</h2>
<p>Discussion of Perl 6's new scoping rules (things are generally more
consistent than they are in Perl 5; if a variable is declared inside a
block, or in that block's signature in the case of
<code>-&gt; $a, $b {...}</code> type blocks, then that block is its scope)
continued. Some people like the new rules, others don't.</p>
<p><a href='http://groups.google.com/groups?selm=20040627211611.GB3013@babylonia.flatirons.org' target='_blank'>groups.google.com</a></p>
<a name='Different OO models'></a><h2>Different OO models</h2>
<p>Jonadab the Unsightly One had wondered about having objects inheriting
behaviour from objects rather than classes in Perl 6. The gist of the
answers he received was that it wouldn't be in the core of the
language, but neither should it be too hard to implement something that
worked how he wants.</p>
<p><a href='http://groups.google.com/groups?selm=n02nraxl.fsf@jonadab.homeip.net' target='_blank'>groups.google.com</a></p>
<a name='Undo?'></a><h2>Undo?</h2>
<p>Michele Dondi wondered if Perl 6 would have a built in <code>undo</code>
function for rolling back the history of a scalar (say). Rafael
Garcia-Suarez pointed out that the concept wasn't a simple as it first
appeared, especially in the context of threads, closures, side
effects. He suggested that a better approach would be to implement a
suitable transaction/rollback library that handled such things in an
application appropriate fashion rather than using a 'half-baked kludge
built into the base language'. Mark Biggar pointed out that the
language already had hypothetical values, which did pretty much the
right thing.</p>
<p>Elsewhere in the thread, Luke Palmer attempted to explain continuations
again. A sandwich was involved.</p>
<p><a href='http://groups.google.com/groups?selm=Pine.LNX.4.56L0.0406291740180.10615@worf.pcteor1.mi.infn.it' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?selm=20040629233129.GA3979@babylonia.flatirons.org' target='_blank'>groups.google.com</a> -- Luke makes a
continuation sandwich</p>
<a name='If not , then what'></a><h2>If not <code>,</code> then what</h2>
<p>Alexey Trofimenko triggered your Summarizer's sense of deja vu when he
asked what was happening to the C-style comma (we're keeping it, more
or less) and proposing a <code>then</code> keyword for use in the contexts where
Perl 6's new <code>,</code> didn't quite work the same way as in Perl 5. Which is
pretty much the same as the proposal Luke Palmer made some months ago
and which Larry rejected.</p>
<p>Jonathan Lang pointed out how you'd implement <code>then</code> if you needed it
though.</p>
<p>The thread got slightly silly after this (sideways semicolons! I ask
you!). I'm not sure what chromatic was driving at when he suggested a
<code>meh</code> operator though.</p>
<p><a href='http://groups.google.com/groups?selm=opsafpwqtgsspxk8@s' target='_blank'>groups.google.com</a></p>
<a name='map, grep and laziness'></a><h2><code>map</code>, <code>grep</code> and laziness</h2>
<p>That man Alexey also had some questions about lazy
evaluation. Luke Palmer attempted to allay his fears by saying that
Perl 6 would be essentially lazy unless you told it otherwise.</p>
<p><a href='http://groups.google.com/groups?selm=opsajn0im2sspxk8@s' target='_blank'>groups.google.com</a></p>
<a name='Announcements, Apologies, Acknowledgements'></a><h1>Announcements, Apologies, Acknowledgements</h1>
<p>Woohoo! Another weekly summary.</p>
<p>If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl. You might also like to send me feedback at
mailto:<a href='mailto:pdcawley@bofh.org.uk'>pdcawley@bofh.org.uk</a></p>
<p><a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> -- The Perl Foundation</p>
<p><a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> -- Perl 6 Development site</p>
</div>
